home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 001 / comtutor.arc / GTTUTOR2.TXT < prev    next >
Text File  |  1987-05-22  |  25KB  |  434 lines

  1. *****************************************************************
  2. Following  is a second conversational 'chat' between James  Davis 
  3. and  Raymond Wood designed as a follow-up of the first  one.   It 
  4. takes  on the form of a tutorial again due to the high number  of 
  5. requests for same following the first one we released.
  6. *****************************************************************
  7.  
  8. D:  Shall we start this off with a kind of outline as to where  I 
  9. think  we  will  go  with it?   We  discussed  many  fundamentals 
  10. involved  with communications in the first tutorial and ended  up 
  11. discussing  several of the more popular file transfer  protocols.  
  12. This  session  will  go farther into the area  of  file  transfer 
  13. protocols, technology such as the 9600 bit per second modems  and 
  14. error  correcting modems with MNP or ARQ, and how one goes  about 
  15. intelligently selecting a protocol given a basic understanding of 
  16. their  environment.  For example, while Ymodem was  described  as 
  17. the 'King of the hill' when it comes to performance, that is  not 
  18. true  if you are using one of the packet switching networks.   It 
  19. is also not true at 9600 bits per second.
  20.  
  21. W:   You  mentioned 9600 and MNP.  I thought that  there  was  no 
  22. industry standard  for 9600 and that it is only practical if  the 
  23. other  end is talking the same language with the  same  hardware?  
  24. Also   that   MNP  was  implemented  in  the  hardware   of   the 
  25. modem...where am I wrong ?
  26.  
  27. D:   You're  not wrong.  GT PowerComm (12.20) now  supports  9600 
  28. baud.  I believe the newest version of Qmodem (3.0) does as well.
  29.  
  30. Paul  Meiners,  the  author of GT  PowerComm,  has  a  USRobotics 
  31. HST9600 baud modem and he is using it every day.  I, too, have  a 
  32. USR  HST9600 as well as a Microcom MNP modem that I  am  testing.  
  33. There are two quite different error correction methods in use  at 
  34. this   time.   MNP  (Microcom  Networking  Protocol)  which   was 
  35. developed by Microcom and ARQ (a general term used by USR to mean 
  36. Automatic  Retry  Request protocols - theirs  being  specifically 
  37. called USR-HST [High Speed Technology]) and these two methods are 
  38. totally  incompatible.   Even the methods used to  modulate  9600 
  39. baud  signals  appears  to be  incompatible.   However,  we  have 
  40. successfully  connected these two different brands of  modems  in 
  41. 'reliability' mode.  The USR has the ability to 'fallback' to MNP 
  42. at  1200 or 2400 baud where MNP has established a standard.   (Of 
  43. course, that makes sense for our PCP users).
  44.  
  45. We  have  also connected with other USR HST9600 modems  and  seen 
  46. that  we  have outstanding performance at 9600  baud.   (We  have 
  47. cruised  along at about 945 cps during transfers of more  than  3 
  48. million  bytes  so far).  Further, GT is such an  efficient  comm 
  49. program that we are able to drive these modems at 19,200 bits per 
  50. second from the systems while the modem is communicating at  9600 
  51. to  another modem - for additional performance.  It is  for  this 
  52. very  reason  that  we had to implement flow  control  -  so  the 
  53. transmitting modem does not overrun.  I will discuss this in more 
  54. detail a little later in this tutorial.
  55.  
  56. So, while you are correct that there is no standard at 9600 baud, 
  57. that  does  not  mean  that  9600  baud  modems  are  necessarily 
  58. impractical.  We are determining to what extent it is a  problem.  
  59. What  concerns me the most is the different  modulation  methods.  
  60. Nevertheless, it will not stop our  support  of 9600 baud.
  61.  
  62. Finally, you are right again, MNP (ARQ) is a hardware function  - 
  63. but it can and should be a transparent one.  I note, for example, 
  64. that  since  I began testing these modems I have  connected  with 
  65. several  (many)  others and, as a result,totally  eliminated  the 
  66. line  noise  that was present prior to the MNP connection  -  ie, 
  67. there  appears  to  be  more to MNP than  just  error  free  file 
  68. transfers.  Thus, we must look at it.  And, in doing so, we  will 
  69. test  the various non-error checking protocols that are  used  in 
  70. such  environments  (Ymodem-G,  for example).  It is  as  much  a 
  71. learning  curve  for  us as for the users - we just  MUST  do  it 
  72. behind the scenes for credibility sake.
  73.  
  74. W:   I  understand the necessity to stay  up  with  technological 
  75. advances affecting your your product.  What I am not to clear  on 
  76. is exactly what is MNP or ARQ and why have they come about.   Can 
  77. you shed some light on this? 
  78.  
  79. D:  Since 2400 baud modems are NOT really 2400 'baud' - they  are 
  80. 2400 bits per second,  1200 baud modems - it has been clear  that 
  81. the limit of reliable communications in terms of speed using  the 
  82. bandwidth  of  the  existing telephone  circuitry  has  not  been 
  83. reached.  However, it is also clear that as we more densely  pack 
  84. information  within  that  bandwidth  the  incidence  of   errors 
  85. increases.    The  manufacturers  investigated,   starting   with 
  86. Microcom, various error detection and recovery methods that  were 
  87. hardware  assisted.   That  was the the birth  of  MNP  (Microcom 
  88. Networking  Protocol).   There  has been  an  evolution  in  that 
  89. technology  which  results in several 'levels' of  MNP  available 
  90. today.  The higher the level, the more function is included.   At 
  91. any level, MNP merely insures that the data received by the modem 
  92. is what was sent by the sending modem.  That is INSUFFICIENT,  in 
  93. my  opinion.   The  only  valid scenario  is  one  in  which  the 
  94. receiving  COMPUTER is insured that it received  accurately  what 
  95. the  sending COMPUTER sent.  There are cables,  ports,  circuits, 
  96. timings,  etc.  that MNP DOES NOT CHECK.  Thus, it seems  that  a 
  97. combination   of  software  and  hardware  error  detection   and 
  98. correction methods is necessary.
  99.  
  100. Almost  all  file  transfer protocols check  what  I  believe  is 
  101. necessary  - computer to computer accuracy.  What, then,  is  the 
  102. advantage  of  MNP?   Well, to begin with,   it  SHOULD  be  more 
  103. efficient.   If  the software need only be  concerned  with  data 
  104. bytes  and  not CRC and other control bytes, then  it  should  be 
  105. faster.  Further, the newer levels of MNP are more efficient than 
  106. you  might  have guessed.  They strip off the start bit  and  the 
  107. stop  bits  from  each  byte, for  example,  and  that  increases 
  108. transfer  performance  by 20% (8 bits per byte rather  than  10).  
  109. Further,  they  send 'compressed' data  via  internal  algorithms 
  110. which increases performance even more.   On the other side of the 
  111. ledger,  MNP and ARQ technology has some built  in  disadvantages 
  112. from a performance point of view, they are, after all, no  longer 
  113. just high speed pipes but are now full computers (usually  Z80's) 
  114. and  are  prone  to  modest  slowdowns  at  the  higher   speeds.  
  115. Nevertheless, at 9600 'baud' it is possible to obtain about  1100 
  116. cps  rather than 960 and at 2400 'baud' it is possible to  obtain 
  117. upwards of 290 cps rather than 240.
  118.  
  119. Not to forget, as I mentioned earlier, MNP is active at all times 
  120. while  protocol  transfers are active only during  a  transfer  - 
  121. thus,  line noise is effectively filtered out even while  we  are 
  122. chatting.   There  are  several possible advantages,  and  a  few 
  123. disadvantages - not the least of which is the lack of standards. 
  124.  
  125. W:  Jim,  I understand what you just said and from that it  would 
  126. seem  that  MNP is needed at both ends to do the  job.   Is  that 
  127. correct?  Also is MNP proprietary for just Microcom modems?
  128.  
  129. D:   It  is obviously true that MNP (or ARQ) must exist  on  both 
  130. ends  to be functional.  When my Microcom modem connects  with  a 
  131. non-MNP  modem  it recognizes that fact and reverts  to  being  a 
  132. standard  Hayes  compatible  modem.  Further, when  the  USR  HST 
  133. connects  with  a Microcom that has MNP, there is a  fallback  in 
  134. baud  rates  to  2400  baud  in both  modems  so  that  they  can 
  135. communicate  using MNP.  That is likely to be overridden  by  the 
  136. users, however, via disabling MNP or ARQ in such situations.  (My 
  137. opinion only).  However, it is reasonably certain that 9600  baud 
  138. connections cannot be established without error correction  being 
  139. functional.  Further, while Microcom  MNP is wider used than  ARQ 
  140. (USR's  method), the USR method of supporting both (at  different 
  141. baud rates) is more flexible and argues for USR.  It may be  that 
  142. we obtained the wrong 9600 baud modems at this time.  It is  part 
  143. of the testing and learning process.
  144.  
  145. As  to  the proprietary nature of MNP, according  to  USRobotics, 
  146. Microcom  has placed at least the first three levels of MNP  into 
  147. the public domain.  It is certain that they have been generous in 
  148. licensing out at least the lower 'levels' to other manufacturers.  
  149. What alternative do they have?  Unless a standard evolves,  these 
  150. are contests that damage the future, not advances it.
  151.  
  152. W:   It  seems  obvious that standards in this area  are  to  the 
  153. advantage  of all concerned.  Is there a  standards  organization 
  154. looking into this?  I would like to have 9600 baud capability and 
  155. error   free  transmission.   However,  I  would  also  like   to 
  156. communicate with whomever without having to worry about whats  at 
  157. the other end.  Do you see what I am concerned about?
  158.  
  159. D:   Of course.  It is a paraphrase of my earlier discussion.   I 
  160. think  the  only 'standards organization' that  is  effective  is 
  161. called   the   marketplace.   The  huge  power   of   the   Hayes 
  162. organization, because of its modem standard, is likely to be  the 
  163. telling blow to other manufacturers - when they finally put there 
  164. own  9600  baud technology - may well become  the  new  standard.  
  165. Because  of this I believe it is premature to buy 'long' in  such 
  166. security issues as USRobotics and Microcom. 
  167.  
  168. W:  Whenever I talk to the Hayes people at a convention or  trade 
  169. show, they know or say nothing about 9600 development.  I do  not 
  170. know  if this is just policy or not.  I think that when  they  do 
  171. introduce  9600 that it would not necessarily mean that  whatever 
  172. they  do will be the standard.  I may be naive, but I would  like 
  173. to believe that will be the case.  I say this only because others 
  174. are  active in meeting a need and they are not or appear  not  to 
  175. be.
  176.  
  177. D:  No argument there.  My point remains valid only if Hayes does 
  178. something in the near term.  Intel saw what happens when they get 
  179. over  confident and let competition pass them by when they  first 
  180. put the 8080 micro-computer chip into the marketplace.  They  had 
  181. it  made, save only that the Z80 took it ALL away from them.   It 
  182. was  an awfully long time before they we were able to  come  back 
  183. and Motorola nearly did it to them again.  So, while Hayes has by 
  184. far  the  largest  visible shelf space in  the  industry  at  the 
  185. moment,  USR (my guess) or Microcom could steal it away from lack 
  186. of responsive attention on their part. 
  187.  
  188. W:   It would seem that you need compatible hardware  above  2400 
  189. baud  and  compatible software as well for  truly  effective  and 
  190. increased performance.  Does Paul Meiners' Megalink protocol  tie 
  191. into this somehow?
  192.  
  193. D:   Megalink  is an extremely  efficient  protocol  particularly 
  194. designed  for  the network environments like PCP and  the  higher 
  195. baud  rates.   It  is 'network friendly',  which  means  that  it 
  196. recognizes  and honors flow control imposed by the network.   For 
  197. efficiency  it  uses 512 byte packets (4 blocks), it  is  a  full 
  198. streaming  protocol,  which means it does not ever  stop  sending 
  199. unless  it receives a NAK saying a packet was received in  error, 
  200. and it is batch oriented.  It uses block 0 header information, as 
  201. do all the '...link' protocols so that the resulting file is  the 
  202. same size and properly time and date stamped, and it uses 32  bit 
  203. CRC rather rather than 16. 
  204.  
  205. I  think  it is time to go back to the earlier tutorial  and  add 
  206. some more concepts at this time.
  207.  
  208. Since our last discussion there has been increased popularity  in 
  209. two relatively new file protocols.  The first of these is  called 
  210. SEAlink and the second is Zmodem.  You will recall in the earlier 
  211. discussion  that 'windowing' techniques are beginning  to  become 
  212. available  in  the  file  transfer protocols.   There  is  now  a 
  213. Windowing  Kermit,  for  example,  as  well  as  WXmodem.   These 
  214. programs  attempt  to obtain better performance by  avoiding  the 
  215. start-stop approach used by earlier protocols where after sending 
  216. a  packet  of  data the transmitter would stop and  wait  for  an 
  217. Acknowledgment that the packet had been properly received  before 
  218. sending  the  next  one.  Windowing  protocols  assume  that  the 
  219. packets are being received without error and do not wait  between 
  220. packets.   The  receiving systems DO send ACK signals,  its  just 
  221. that  the transmitter is not waiting for them.  Assuming  all  is 
  222. well, time has been saved as a result.  When an error does occur, 
  223. a  NAK  is returned to the transmitter and associated  with  that 
  224. signal  is  the packet number that was in  error.   Assuming  the 
  225. transmitter  still  has  that packet at its  disposal  it  merely 
  226. retransmits it and proceeds.
  227.  
  228. That is the limit, of course.  In order to be able to  retransmit 
  229. a  packet it must still be in the transmit buffer and the  buffer 
  230. has  a  finite  length.  All windowing protocols  set  a  maximum 
  231. 'window  size'.   This means that there can be no more  than  'x' 
  232. packets sent without a reply before the transmitter is forced  to 
  233. wait for that reply else error recovery would not work.  This  is 
  234. no  big  deal at 1200 baud, but at 2400 and above  it  is  really 
  235. quite limiting.
  236.  
  237. SEAlink  is a windowing protocol.  It has as an  added  advantage 
  238. over WXmodem, for example, two very important features:  it  uses 
  239. 32 bit CRC for reliability, and it is 'network friendly'.  The 32 
  240. bit CRC (4 byte CRC per packet) makes undetected errors virtually 
  241. impossible.  The benefit gained in reliability is at the  expense 
  242. of  having twice as much CRC overhead, however.  Thus,  all  else 
  243. being equal, it would be a little slower than WXmodem.  All  else 
  244. is  not equal.  Performance of SEAlink is not noticably  degraded 
  245. because  of  32-bit CRC though it is  substantially  affected  by 
  246. being Network-friendly.  Further, SEAlink uses a window size of 6 
  247. rather than the 4 used by WXmodem.
  248.  
  249. What  is 'network-friendly'?  It is a design that recognizes  and 
  250. honors  XON/XOFF  signals that are placed on a  packet  switching 
  251. network when that network (like PC Pursuit) becomes so busy  that 
  252. it is nearly choking on data.  When the network places an XOFF on 
  253. the line, a network-friendly recognizes it for what it is  rather 
  254. than  a coincidental configuration of bits in a byte of data  and 
  255. stops  sending data!  It stops until it receives an XON from  the 
  256. network.  Why is that important?  Well, it is my experience  that 
  257. a  huge  number  of subscribers now exists for  PCP.   Forcing  a 
  258. network to exceed its ability to handle data could only crash the 
  259. network.   PCP would not allow that.  They have intelligent  node 
  260. controllers  that selectively will abort a 'hog' link  that  does 
  261. not  honor  its earlier 'request' to wait a  little  (via  XOFF).  
  262. Thus,  using  a  protocol that is not  network-friendly  is  like 
  263. saying: "I don't care if I am a hog.  And, if you don't like  it, 
  264. then abort me."  As usage continues to increase, the network will 
  265. oblige that attitude.
  266.  
  267. The  result  of being network-friendly is two fold  in  terms  of 
  268. 'hits'  against  performance: 1) while you are  waiting  for  the 
  269. network to send you an XON you are not sending data and 2)  there 
  270. are  MANY extra bytes of control information that  definitionally 
  271. must be sent along with your data.
  272.  
  273. Let  me  explain that last point as it is not  obvious,  I  know.  
  274. XOFF  and XON are simply bytes, just like the letter 'A'  or  the 
  275. digit  '4'.  If no data file contained those bytes then it  would 
  276. be  easy  to  implement  a  network-friendly  protocol.   Recall, 
  277. however, that it is almost always true that data is sent in  some 
  278. form  of archive or compressed format.  The resulting  bytes  can 
  279. have  ANY  configuration  despite what  the  un-archived  or  un-
  280. compressed  file  looks  like.   In other  words,  the  odds  are 
  281. essentially  100%  that the data files that you send  consist  of 
  282. probably  many bytes that look like XOFF or XON.  That cannot  be 
  283. allowed  to  happen.   The  protocol finds  all  such  bytes  and 
  284. encapsulates  them  in  what is called an  escape  sequence  that 
  285. consists  of a special byte (usually the DLE character)  followed 
  286. by a 'folded' duplicate of the byte that needed to be camouflaged 
  287. (the  XON  or  XOFF).   Folding merely means  that  the  byte  is 
  288. transmogrified  in  some  way  (usually  via  being  sent  as   a 
  289. compliment  -  XORed with all 1's).  Further, the  DLE  character 
  290. itself must also be escape sequenced for this method to work.  It 
  291. is a random process that results in indeterminate performance for 
  292. any particular file.  That is, if a file had none of these  three 
  293. special  byte  combinations in it, then the time to  transmit  it 
  294. would be minimal where a file that happened to have many of  them 
  295. will  have  that  many  more bytes to send  in  order  to  escape 
  296. sequence  it.   In  such a case the file  would  take  longer  to 
  297. transmit than the first.  Same protocol, different performance.
  298.  
  299. On  balance, the designers of SEAlink did an excellent job.   The 
  300. performance  of SEAlink is essentially as good as WXmodem yet  it 
  301. is more reliable and it is network-friendly.  Incidentally,  they 
  302. also escape sequenced a fourth byte - the SYN.  It is for  rather 
  303. obscure reasons and I believe a mistake.  Why is SEAlink becoming 
  304. so  popular?   Because  it is a protocol supported  under  a  BBS 
  305. system  called  OPUS which is quickly replacing most of  the  old 
  306. FIDO systems all over the country.  It is a good protocol.
  307.  
  308. The next one of interest is called Zmodem.  This is almost always 
  309. found  as an external protocol.  That means it is included  in  a 
  310. file  (DSZ.EXE)  that  is  shelled to by  the  host  or  terminal 
  311. communications program when it is needed.  As such, it requires a 
  312. lot of memory compared to the internal protocols.  But because of 
  313. that,  it is easy to install as a protocol offering of  many  BBS 
  314. systems.   There  is  another  and  more  significant  difference 
  315. between Zmodem and the other protocols we have already  discussed 
  316. so  far.  Instead of being start-stop in nature, and  instead  of 
  317. being  windowing,  it  is  a  streaming  protocol.   A  streaming 
  318. protocol  does  not expect to get ANY ACK signals back  from  the 
  319. receiver  until the transfer is complete and successful.   If  an 
  320. error  occurs  it  will  receive  a NAK  and  it  is  up  to  the 
  321. transmitter to insure that it can recover from any NAK  received.  
  322. Thus,  because  it  is not a windowed  protocol  it  never  stops 
  323. transmitting  unless there is an error.  That means it should  be 
  324. faster than even the windowing protocols.
  325.  
  326. Unfortunately,  while Zmodem uses 32-bit CRC for reliability,  it 
  327. is  NOT  network-friendly.   In some ways it is  not  even  user-
  328. friendly.  For example, in every other protocol there is a way to 
  329. terminate  the transfer should you wish to do so while it  is  in 
  330. progress.   The usual manner is to press Cntl-X one or two  times 
  331. and  wait  till the other end recognizes the  abort  request  and 
  332. finally stops.  In the case of Zmodem you must press 10! times in 
  333. a row to stop it.  I suggest that not 1 user in a thousand  knows 
  334. that.  It is a popular protocol as a result of its performance on 
  335. the  packet  switching  networks.  Because  it  is  not  network-
  336. friendly  it  does not bother with (it doesn't  have  to)  escape 
  337. coding anything.  That is probably a fatal mistake to its  future 
  338. particularly as the networks get crowded.
  339.  
  340. Included  in  GT  PowerComm 12.20 is  the  newest  file  transfer 
  341. protocol.   It  is called MegaLink.  It uses 32-bit  CRC,  it  is 
  342. network-friendly, is faster than Sealink, and like all the 'link' 
  343. named  protocols  it uses a header record that results  in  exact 
  344. size and proper time and date stamping of the resulting file when 
  345. received.   Most  interesting  about  MegaLink  is  how  well  it 
  346. performs  at  the very highest baud rates.   Running  comparative 
  347. tests of four different protocols, all sending the same 880K file 
  348. to  the same machine and at 9600 baud, I obtained  the  following 
  349. results:
  350.  
  351.     WXmodem   60.4 % efficiency  580 cps
  352.     SEAlink   75.6 %             725 cps
  353.     Ymodem    77.6 %             744 cps
  354.     Zmodem         unsuccessful*
  355.     MegaLink  98.5 %             945 cps
  356.  
  357. In order, WXmodem did so poorly for two reasons: at 9600 baud its 
  358. window limit of 4 is the same as not having a windowing technique 
  359. at  all.   Second,  there are ACK signals coming  back  for  each 
  360. packet  sent.  In the 9600 baud arena, the transmission  is  only 
  361. 9600 baud in one direction and only 300 baud in the other!  It is 
  362. transparent,   more  or  less,  to  the  users  as   the   modems 
  363. automatically change which direction is at 9600 baud based on the 
  364. volume of data that needs to be sent in each direction at any one 
  365. time.   Further, while one character (the ACK itself at 300  baud 
  366. is  not significant, the ACK/NAK response is actually either  two 
  367. or  three  bytes  rather  than one  as  you  might  expect.   The 
  368. additional byte(s) is for packet number (and it's compliment).
  369.  
  370. SEAlink is being driven about as fast as it can go.  It is not as 
  371. fast as Ymodem because of the small window it uses (like WXmodem) 
  372. and because it has so many more characters to transmit because it 
  373. is network-friendly (escape sequences).
  374.  
  375. Ymodem  is  going as fast as it can.  It  is  effected  primarily 
  376. because  of  the start-stop nature of its function and  the  fact 
  377. that  the  ACK/NAKs  are coming back at 300 baud.   Here  we  see 
  378. clearly  an indication that the days of the start-stop  protocols 
  379. are numbered.
  380.  
  381. As an aside, Ymodem-G would have performed MUCH better because it 
  382. has  no  error  control  whatever, thus it  has  fewer  bytes  to 
  383. transmit and no turnaround delays.  Remember, however, that error 
  384. correcting modems are only capable of insuring that the data sent 
  385. from  one  modem is received reliably by the other.  As  will  be 
  386. seen  in  the  discussion later  about  Zmodem's  total  failure, 
  387. Ymodem-G would not have reliably worked in this test.
  388.  
  389. It  is  interesting that Zmodem failed altogether at  9600  baud.  
  390. The  reason is a little subtle and it leads to the next  thing  I 
  391. wanted to discuss anyway.
  392.  
  393. I earlier mentioned that the MNP and ARQ modems are able to strip 
  394. the  start  and  stop bits from bytes, (they must,  thus,  be  in 
  395. synchronous  mode rather than asynchronous), and that  they  also 
  396. may  use  a  form  of compression  beyond  that  for  performance 
  397. reasons.   I  further stated that at 9600 baud the  modem  I  was 
  398. using was able to perform at 1100 cps rather than 960.  This  may 
  399. have  caused  you  to  ponder: if the modem  is  connect  to  the 
  400. computer  at 9600 baud that means the computer can only send  960 
  401. characters  per second to the modem for subsequent  transmission.  
  402. So how can the modem send it any faster than it receives it?
  403.  
  404. The answer is that it cannot do so.  The method to use to  obtain 
  405. these  extraordinary performances is to connect your computer  to 
  406. the  modem  at 19,200 baud and utilize a buffer in the  modem  to 
  407. match  up the input with the output.  Naturally, as the  data  is 
  408. arriving at the modem much faster than it is leaving, there  must 
  409. be  a way to stop the input.  Well, you guessed it, we  use  flow 
  410. control just like the networks when they are getting choked.   In 
  411. particular, we sense that the modem's Clear To Send signal is  on 
  412. or  off.   When off, we stop sending data to it and when  on,  we 
  413. instantly start cramming data at it at 19,200 baud.  In this way, 
  414. the modem is able to send data at 1100 cps.  Naturally, the modem 
  415. must  be  able  to  control its CTS  signal  for  this  to  work.  
  416. USRobotics HST is capable of doing so.
  417.  
  418. I showed you what happened to Zmodem when we tried to transfer to 
  419. it  at in excess of 9600 baud - it failed.  That is not  entirely 
  420. the fault of Zmodem, however.  Unless the receiving system is  of 
  421. the AT class of computers you will probably find that  regardless 
  422. of  what  kind of software you are using with it,  the  modem  is 
  423. faster  than the computer's ability to feed it or eat  from  it!!  
  424. Now that is amazing, isn't it?  We now have modems that are paced 
  425. by  the  computer they are attached to instead of the  other  way 
  426. around.
  427.  
  428. Incidentally,  unless  the receiving computer is connect  to  the 
  429. receiving  modem  at  19,200  instead  of  9600  baud,  and   has 
  430. implemented some form of flow control to signal the sending modem 
  431. that  it's  buffer  is full, 1100 cps transmissions  to  it  will 
  432. naturally fail when the buffer is overflowed.
  433.  
  434.